java中Comparable的例子和用法 |
您所在的位置:网站首页 › java comparable用法 › java中Comparable的例子和用法 |
3.5 Comparable的用法 马克-to-win:前面讲过进入TreeSet的每个元素是都排了序的,如果被添加的元素是我们自己定义的,就需要告诉TreeSet排序的规则,这个规则就要在Comparable中定义。在下面的例子中, 当我们要往TreeSet中添加我们自己定义的类Worker对象时,就在compareTo中定义排序规则。 例:3.5.1 /*why in the past never implements Comparable? becasue Integer claas and String class both implements this Comparable. java.lang.Object java.lang.String All Implemented Interfaces: CharSequence, Comparable, Serializable */ import java.util.*; //Comparable接口在java.lang包中定义 //定义的方法: //int compareTo(Object o); //实现该接口就可以实现按用户定义的自然顺序排列对象。 /*you must implements Comparable,otherwise, when you add the second element into the treeset, it will report error, because it will search for Comparable interface. */ class Worker implements Comparable { int workNum; String name; int money; public Worker(int workNum, String name, int money) { this.workNum = workNum; this.name = name; this.money = money; } // 按工资排序 /* * public int compareTo(Object o) Returns: a negative integer, zero, or a * positive integer as this object is less than, equal to, or greater than * the specified object. it looks like that the one that is in front is * small. what if two keys are the same? only print out one item. */ public int compareTo(Object o) { Worker e = (Worker) o; return money - e.money;//到底谁减谁,讲师如想搞清楚,请听配套视频里的仔细分析。 // return workNum - e.workNum; } } 更多请见:https://blog.csdn.net/qq_43650923/article/details/100831985 |
今日新闻 |
点击排行 |
|
推荐新闻 |
图片新闻 |
|
专题文章 |
CopyRight 2018-2019 实验室设备网 版权所有 win10的实时保护怎么永久关闭 |